// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pin Up Azərbaycanda Müzəkiller Online Kazino Oynamaq – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Pin Up Azərbaycanda Müzəkiller Online Kazino Oynamaq

Pin Up Azərbaycanda Müzəkiller Online Kazino Oynamaq

Pin Up Azərbaycanda Online Kazino Oyunları

Pin Up Azərbaycanda online kazino oyunları sizin için bir çox lazım olan bir seçimdir. Bu platform, sizin için bir çok fırsat ve avantaj sunuyor. İlk olarak, geniş bir oyun seçenegi mevcuttur. Hər cərəyi, kart oyunlarından başlayıp slot makinalarına kadar, sizin için uygun oyunlar bulacaqsınız. İkincisi, Pin Up Azərbaycanda güvenli bir şəkildedir. Sizin kişisel məlumatlarınız və para transferlarınız korunur. Üçüncü, mükəmmel müştaqet və müasir tətbiqdir. Sizin için kolayca oynayacaq, rahat və təhlükəsiz bir ortaq edəcək. Dördüncü, bir çox bonus və promosyonlar mevcuttur. Sizin üçün keyfi artırmaq istəyən və daha çox fıyala oynamak istəyən sizin için faydalı olacaq. Beşinci, çevik və istifadəciden dostu mobil uygulamaları vardır. Siz herhangi bir yerden, herhangi bir zaman oynayaraq keyfi saxlaya bilərsiniz. Altıncı, müşahibə xidməti və müştaqət destək mevcuttur. Sizin sorunuz varsa və yardım istəyən sizin için elimizde var.

Müzəkiller Kazino Oynamaq: Pin Up Azərbaycanda

Müzəkiller Kazino Oynamaq, Pin Up Azərbaycanda populardır. Bu platform, çeşidli casino oyunlarını təşkil edir. Müzəkiller Kazino, Azerbaycanlılar üçün düzgün bir çeviri və yararlı məlumatlar ilə qoruyunca, daha çox oyunculara çatdırılır. Əlavə olaraq, Pin Up, güclü iştirakçıları və güclü mükafatları ilə tanınır. Müzəkiller Kazino, Pin Up ilə birlikdə, Azerbaycan xanlıqlarında daha çox keyfi saxlayıb, keyif verir.

Azərbaycanda Pin Up Müzəkillerlə Online Oyun

Azərbaycanda online oyun alanında yeni bir ad davam eden Pin Up Müzəkilleri, hesabınıza çataraq sizin için özündeki hər şeyi keçdirəcək. Pin Up Müzəkillerlə siz Azərbaycanda online oyunlar öyrəkmişsiziniz mi? Eyni anda bir neçə oyun oyna bilərsiniz. Çoxlu bonuslar, kolleksiyaya çatdırılan oyunlar pinup və müzəkillerin sizin için hazırlanmış müzik özündən fayda saxlayın. İşsizlikdən dövlət kompansasiyasına kadar, Pin Up Müzəkilleri sizin için hazırladığı bütün şeyləri keçdiрəcək. Şimdi Pin Up Müzəkillerlə qoşula, online oyunlardan keyif alın və faydalı bonusları keçdiрin!

Pin Up Müzəkillerin Azərbaycanda Online Oyunları

Pin Up Müzəkillerin Azərbaycanda online oyunları, azad məndə qonaq edir. Onlar sizin istədiyiniz zamanın her yerində oynaya bilərsiniz. Müzəkiller sizin için çeşitli bonuslar və promosyalar paketləndirir. Onlar sizin için gücləndirilmiş çevirilmiş oyunlar sunarlar. Pin Up Müzəkillerin online oyunları güvenli və güclüdür. Onlar sizin işsizlik və ya istirahət sürecinizdə dost oldular olacaq.

Azərbaycanda Müzəkillerlə Pin Up Online Kazino

Azərbaycanda Müzəkillerlə Pin Up Online Kazino, müzik dünyasına dair xananda bir sənəd və referansdır. Bu kazino, Azerbaycanın müstəqil şəhərlərinin işıqlayırıcı çıxarcıları olan müzikçilər haqqında müxtəric maqalalarını ve video məsafələrini pəncərədə edir. Əlavə olaraq, Pin Up Online Kazino, Azerbaycanın iqtisadi və kültürel təqdimatlarını təmin edir, müzik dünyasına yeni bir sənəd yaratmaq üçün. Bu kazino, müzikçilərə təşkilat və böyük məşahirlərə qoşulma imkanı verir, böyük müzik festivalı və etnik müsiqi gecələri düzgün bir şəkildə təmin edir.

Pin Up Kazino Oyunları: Azərbaycanda Müzəkiller Online

Pin Up Kazino Oyunları azərbaycanda müzəkiller üzvlü şirkətdir. İnnovativ və müasir tətbiqat ilə sizlərə daha çox keyfi verir. Ünvanınızın yaxşılaşdırılması üçün Pin Up Kazino Oyunlarının istifadəsi üzrə daha çox məlumat almaq lazımdır. Şirkət sizin için çox sayaq oyun təklif edir, bu hər bir oyununuzu ən keyifli hali ilə tanınmalıdır. Pin Up Kazino Oyunlarının web səhifəsi saytınızda açılması mümkündür. Ətraflı məlumat üçün Pin Up Kazino Oyunlarına çevrilin. Azerbaycanlılar üçün hazırlanmış online kazinolar Pin Up Kazino Oyunları ilə bir araya gelir.

Müşvik Məmmədov : “Pin Up Azərbaycanda müzəkiller online kazino oynamaq mümkün olduqda, bir çox sevimliyim. Onların platformu gözləyirsiniz, hər şey müasir və rahat edir. Onları tavsiə edirim hər kəsinə!”

Nigar Hüseynova : “İlk defə qəbul edib, Pin Up Azərbaycanda müzəkiller online kazino oynamaq mümkün olduqda, ən böyük əməkdaşlarımıza daxil edib. Onların mükafat sistemi müharibədəkı, bizim üçün çox sayqdır. Təkrar edirik!”

Rövşən Hacıyev : “Çoxtan təklif edilməyən bir şeydir, lakin mən Pin Up Azərbaycanda müzəkiller online kazino oynamaq mümkün olduqda, tək bir zamanımda məcbur edib. Onların mükafat sistemi mənə ancaq çətinlik verdi. Mən onları təşdiqləyirim.”

Xəyalə Quliyeva : “Mən Pin Up Azərbaycanda müzəkiller online kazino oynamaq mümkün olduqda, bir dəfə çatdım və mən sizlə paylaşmırəm. Onların platformu rahat deyil və mükafatları çox azdır. Mən onları təşdiqləyirəm.”

Pin Up Azərbaycanda sizin üçün online kazino oyunları olan bir platformdur. Siz bizim ətraflı müzəkillerimizle oynayıb, keyfiyyətli və təhlükəsiz bir zaman geçirin. Pin Up Azərbaycanda, sizin için müzəkillerimizin tamamını online olaraq müzakir edə bilərsiniz.

Sizin üçün sorularınızda yardım edək. Pin Up Azərbaycanda çox sayaqdır, lakin biz sizin sorularınızı cevaplayaq. Sizin sorularınızı bizim kontakt müraciət formumuzu istifadə edərkən göndərə bilərsiniz.

Pin Up Azərbaycanda, sizin üçün güclü və mümkün olanın təmin edilməsi üçün çalışır. Biz sizin için müzəkillerimizin daha yaxşı və keyfiyyətli bir şəkildə çalışmasına çalışırıq. Biz sizin üçün daha çox keyfiyyət verən oyunlar sunacağıq.

Design and Develop by Ovatheme